/*
 * Random.h
 *
 *  Created on: 13.02.2011
 *      Author: Tavin
 */

#ifndef RANDOM_H_
#define RANDOM_H_

typedef struct{
	uint32_t value;
} Random_t;

extern Random_t randomData;



void  Random_init();



/****************************************************************************************/
/*																						*/
/*	Function : Random_setValue								Author : OG					*/
/*																						*/
/*	Description : 								   										*/
/*																						*/
/*	Version : 1.0					Date :2011.2.13			Status : Working   			*/
/*																						*/
/****************************************************************************************/

void static inline Random_setValue(uint32_t value)
{
	randomData.value=value;
}

/****************************************************************************************/
/*																						*/
/*	Function : Random_init									Author : OG					*/
/*																						*/
/*	Description : 								   										*/
/*																						*/
/*	Version : 1.0					Date :2011.2.13			Status : Working   			*/
/*																						*/
/****************************************************************************************/

uint32_t static inline Random_getValue()
{
	uint32_t returnValue;

	returnValue=randomData.value & 0x7fffffff;

	randomData.value+=(randomData.value>>1);


	return(returnValue);
}



#endif /* RANDOM_H_ */
